Closed
Bug 979665
Opened 11 years ago
Closed 11 years ago
moving files between WEBIDL_FILES and PREPROCESSED_WEBIDL_FILES needs a clobber
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla30
People
(Reporter: heycam, Assigned: gps)
References
(Blocks 1 open bug)
Details
(Keywords: regression)
Attachments
(1 file)
3.54 KB,
patch
|
froydnj
:
review+
|
Details | Diff | Splinter Review |
If I take one of the files listed in dom/webidl/moz.build's WEBIDL_FILES array and move it to PREPROCESSED_WEBIDL_FILES, I get the following error from Codegen.py. A clobber fixes it, but ideally we wouldn't need one.
0:21.83 Traceback (most recent call last):
0:21.83 File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
0:21.83 "__main__", fname, loader, pkg_name)
0:21.83 File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
0:21.83 exec code in run_globals
0:21.83 File "/z/moz2/central/python/mozbuild/mozbuild/action/webidl.py", line 17, in <module>
0:21.83 sys.exit(main(sys.argv[1:]))
0:21.83 File "/z/moz2/central/python/mozbuild/mozbuild/action/webidl.py", line 13, in main
0:21.83 manager.generate_build_files()
0:21.83 File "/z/moz2/central/dom/bindings/mozwebidlcodegen/__init__.py", line 272, in generate_build_files
0:21.83 sha1=self._input_hashes[filename],
0:21.83 KeyError: u'/z/moz2/central/dom/webidl/CSS.webidl'
0:21.91 make[5]: *** [codegen.pp] Error 255
![]() |
||
Comment 1•11 years ago
|
||
This used to work correctly; I'd made a point of testing exactly this behavior when we first added preprocessed webidl support. I'm guessing bug 928195 broke this inadvertently. :(
Blocks: 928195
Keywords: regression
Assignee | ||
Comment 2•11 years ago
|
||
This patch fixes a bug in WebIDL code generation that could be triggered
if an input file changed locations but the original file remained on
disk. When computing the set of source .webidl files to perform code
generation on, we failed to prune files that were no longer part of the
active set of input files. References to files in old locations would
get pulled in to the regeneration set, leading to a cryptic KeyError
during code generation.
The added test failed with a similar stack as the one reported in the
bug before _compute_changed_inputs() was changed.
Attachment #8386591 -
Flags: review?(nfroyd)
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → gps
Status: NEW → ASSIGNED
![]() |
||
Comment 3•11 years ago
|
||
Comment on attachment 8386591 [details] [diff] [review]
Properly detect WebIDL type changes
Review of attachment 8386591 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/bindings/mozwebidlcodegen/__init__.py
@@ +389,5 @@
> if any(dep for dep in v['inputs'] if dep in changed_inputs):
> changed_inputs.add(v['filename'])
>
> + # Only use paths that are known to our current state.
> + # This filters outs files that were deleted or changed type (e.g. from
Nit: "this filters out".
Attachment #8386591 -
Flags: review?(nfroyd) → review+
Assignee | ||
Comment 4•11 years ago
|
||
Flags: in-testsuite+
Comment 5•11 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•